package com.shangcheng.dubbo.api;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.shangcheng.model.domain.UmsRole;
import com.shangcheng.model.domain.UmsRoleMenuRelation;
import com.shangcheng.model.domain.UmsRoleResourceRelation;

import javax.management.relation.Role;
import java.util.List;

/**
 * @author shiqiang
 * @version 1.0
 * @date 2022/5/14 14:51
 */
public interface UmsRoleApi {
    //获取指定用户的角色,根据roleIds查询所有的角色信息
    List<UmsRole> selectByIds(List<Long> roleIds);
    //添加角色
    void createRole(UmsRole umsRole);
    //批量删除角色
    void deleteRole(Integer[] ids);
    //根据名称查询角色列表
    IPage<UmsRole> findRoleByName(String keyword, Integer pageNum, Integer pageSize);
    //获取所有角色
    List<UmsRole> findAllRole();
    //给角色分配菜单
    void allocMenu(Integer[] menuIds, Integer roleId);
    //修改角色
    void updateRole(UmsRole role);
    //修改角色状态
    void updateRoleStatus(UmsRole role);
    //根据roleId查询UmsRoleMenuRelation
    List<UmsRoleMenuRelation> findMenuIdByRole(Integer roleId);
    //根据roleId查询UmsRoleResourceRelation
    List<UmsRoleResourceRelation> findResourceIdByRole(Integer roleId);
    //根据角色全名称查询角色
    UmsRole findRoleByAllName(UmsRole umsRole);
}
